iT邦幫忙

2023 iThome 鐵人賽

DAY 12
0
Software Development

第一次學Web Service的經驗談系列 第 12

Day12主題:認識資料傳遞(3)

  • 分享至 

  • xImage
  •  

最後來說明其他【由View傳遞資料到Controller】的方式,分為以下幾種:

  1. RouteData類別:透過路由範本取得參數值(/{Controller}/{Action}/{id})。

    • Controller:利用網址傳遞參數(/Demo/DemoRoute/1),得到id為1的值。

      public ActionResult DemoRoute(int id)
      {
          ViewBag.id=id;
          return View();
      }
      
    • View:接收ViewBag的內容後再呈現。

      <h3>RouteData類別資料傳遞<h3>
      <p>
          ID:@ViewBag.id
      </p>
      
  2. Model Binder類別

    • Controller:接收View傳來的參數,再回傳給View呈現。

      public ActionResult ModelBinder(string name)
      {
        ViewBag.Name=name;
        return View();
      }
      
    • View:將填入的參數送出到Controller後,再接收回來呈現。

      <div>
      @using(Html.BeginForm()){
          請填入名字:<input type="text" name="name" />
          <input type="submit" value="送出" />
      }
      </div>
      <p>Name:@ViewBag.Name</p>
      
  3. FormCollection類別:類似Model資料傳遞。

    • Controller:利用ViewBag來接收傳入的參數。

      public ActionResult BasicForm(FormCollection Form)
      {
          ViewBag.Name=Form["name"];
          ViewBag.ClassName=Form["classname"];
          return View();
      }
      
    • View:將填入的參數送出到Controller後,再接收回來呈現。

      <div>
      @using(Html.BeginForm()){
          請填入名字:<input type="text" name="name" />
          請填入班級:<input type="text" name="classname" />
          <input type="submit" value="送出" />
      }
      </div>
      <p>Name:@ViewBag.Name</p>
      <p>Class:@ViewBag.ClassName</p>
      

好的,今天就先到這兒,明天再來繼續吧!


上一篇
Day11主題:認識資料傳遞(2)
下一篇
Day13主題:認識資料傳遞(4)
系列文
第一次學Web Service的經驗談31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言